<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
	// * pending变为fulfilled
	// * pending变为rejected
	// 说明: 只有这2种, 且一个promise对象只能改变一次。
    // 无论变为成功还是失败, 都会有一个结果数据。
    // 成功的结果数据一般称为value, 失败的结果数据一般称为reason。
	{
		// state的初始值：pending
        // result的初始值:undefined
        // const p = new Promise(()=>{
        //
        // });
		// console.log(p);
    }
	{
		// 状态一旦更改，不会允许再次更改
		// 通过调用resolve:pending------->fulfilled
        // 通过调用reject或产生异常: pending------->rejected
		// 执行器函数接收两个参数：两个参数类型都是函数
        // resolve：调用该函数可以将状态由pending变为fulfilled,接收的值可以称为成功值
        // reject:调用该函数可以将状态由pending变为rejected,接收的值可以称为失败值
        // 如果执行器函数中产生了异常，那么p的状态会由pending变为rejected,异常的信息即是失败值
		const p = new Promise((resolve,reject)=>{
            resolve(100);
			reject(200);
            throw "异常";
        })
		console.log(p);
    }
</script>
</html>